// 云函数入口文件
const cloud = require('wx-server-sdk')

cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV
})

const db = cloud.database()
const _ = db.command

/**
 * 保存、更新公告
 */
exports.main = async (event, context) => {
  const { OPENID } = cloud.getWXContext()
  if (event._id) {
    const notice = {
      type: +event.type, // 发布类型
      publisher: event.publisher, // 您的称呼
      phone: event.phone, // 手机号码
      title: event.title, // 标题
      classes: event.classes, // 类别
      time: event.time, // 发现时间
      region: event.region, // 区域
      address: event.address, // 地址
      image: event.image, // 图片
      detail_images: event.detail_images, // 详情图片
      description: event.description, // 描述
      update: Date.now()
    }
    const res = await db.collection('notice')
      .where({ _id: event._id, _openid: OPENID })
      .update({
        data: notice
      })
    if (res.errMsg === 'collection.update:ok') {
      res.code = 0
    }
    return res
  } else {
    const notice = {
      _openid: OPENID,
      type: +event.type, // 发布类型
      publisher: event.publisher, // 您的称呼
      phone: event.phone, // 手机号码
      title: event.title, // 标题
      classes: event.classes, // 类别
      time: new Date(event.time), // 发现时间
      position: event.position, // 位置
      region: event.region, // 区域
      address: event.address, // 地址
      image: event.image, // 图片
      detail_images: event.detail_images, // 详情图片
      description: event.description, // 描述
      status: 1, // 公告状态 0-结束 1-进行中
      update: new Date()
    }
    const res = await db.collection('notice')
      .add({
        data: notice
      })
    if (res.errMsg === 'collection.add:ok') {
      res.code = 0
    }
    return res
  }
}